class Solution {
public:
    bool checkDistances(string s, vector<int>& distance) {
        int pos[26][2]; memset(pos, -1, sizeof pos);

        for(int i=0; i<s.size(); i++)
        {
            int u=s[i]-'a';
            if(pos[u][0]==-1) pos[u][0]=i;
            else pos[u][1]=i;
        }
        for(int i=0; i<distance.size(); i++)
            if(pos[i][0]!=-1&&pos[i][1]-pos[i][0]-1!=distance[i]) return false;
        return true;
    }
};